//package com.zyf.cloud.common.utils;
//
//import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
//import org.springframework.context.ApplicationContext;
//import org.springframework.context.ApplicationContextAware;
//import org.springframework.context.ConfigurableApplicationContext;
//
///**
// * Spring 的上下文对象
// * chengzy
// *
// */
//public class ApplicationContextProvider implements ApplicationContextAware {
//    private static ApplicationContext CONTEXT;
//
//    public ApplicationContextProvider() {
//    }
//
//    public static ApplicationContext getApplicationContext() {
//        if (CONTEXT == null) {
//            throw new IllegalStateException("ApplicationContextProvider未初始化");
//        } else {
//            return CONTEXT;
//        }
//    }
//
//    public void setApplicationContext(ApplicationContext ctx) {
//        CONTEXT = ctx;
//    }
//
//    public static ConfigurableApplicationContext getConfigurableApplicationContext() {
//        return (ConfigurableApplicationContext)CONTEXT;
//    }
//
//    public static AutowireCapableBeanFactory getAutowireCapableBeanFactory() {
//        return getConfigurableApplicationContext().getAutowireCapableBeanFactory();
//    }
//
//    public static <T> T getBean(Class<T> type) {
//        return getApplicationContext().getBean(type);
//    }
//
//    public static Object getBean(String name) {
//        return getApplicationContext().getBean(name);
//    }
//
//    public static <T> T getBean(String name, Class<T> type) {
//        return getApplicationContext().getBean(name, type);
//    }
//}
